//public class LIkou_leftrighttree {
//    /**
//     * Definition for a binary tree node.
//     * public class TreeNode {
//     *     int val;
//     *     TreeNode left;
//     *     TreeNode right;
//     *     TreeNode() {}
//     *     TreeNode(int val) { this.val = val; }
//     *     TreeNode(int val, TreeNode left, TreeNode right) {
//     *         this.val = val;
//     *         this.left = left;
//     *         this.right = right;
//     *     }
//     * }
//     */
//    class Solution {
//        public boolean isBalanced(TreeNode root) {
//            if(root == null){
//                return true;
//            }
//            int leftree = maxtree(root.left);
//            int rightree = maxtree(root.right);
//            return Math.abs(leftree-rightree)<=1 && isBalanced(root.left) && isBalanced(root.right);
//        }
//
//        public int maxtree(TreeNode root){
//            if(root == null){
//                return 0;
//            }
//            int p = maxtree(root.left);
//            int q = maxtree(root.right);
//            return p>q? p+1:q+1;
//        }
//    }
//}
